package models;

import java.awt.image.RenderedImage;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;

import javax.imageio.ImageIO;

import models.dados.BancoAdapter;
import models.dados.BancoTeste;
import models.dados.DAO;
import models.dados.DadoNaoEncontradoException;

public class GerenciaProdutos {
	
	DAO banco;
	
	public GerenciaProdutos(){
		banco  = BancoAdapter.getInstancia();
	}
	
	public Produto getProduto(String tipo, String marca,String nome){
		try {
			return banco.getProduto(nome);
		} catch (DadoNaoEncontradoException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	
	public List<Produto> listarDonuts() throws SQLException{
		return banco.listarProdutos();
	}
	
	public void removerDonut(String sabor){
		
	}
	
	public void removerProduto(String tipo,String marca, String nome) throws DadoNaoEncontradoException{
		banco.removerProduto(tipo, marca, nome);
	}
	
	public void alterarProduto(String nome,String novoNome,double preco,File imagem,String usuarioAlteracao) throws DadoNaoEncontradoException{
		try {
			RenderedImage bf = ImageIO.read(imagem.getCanonicalFile());

			ImageIO.write(bf, "png", new File(
					"Donuts Mania/public/images/donuts/" + imagem.getName()));

		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		Produto produto = banco.getProduto(nome);
		produto.setNome(novoNome);
		produto.setPreco(preco);
		
		produto.setUrlImagem("Donuts Mania/public/images/donuts/" + imagem.getName());
		banco.alterarProduto(produto);

		
	}
	


}
